<?php
/**
 * @desc 路由规则
 * @date 2018年5月3日 下午7:59:20
 * 1）域名(注：访问默认模块的默认控制器的默认方法)
 * 2）域名/控制器名(注：访问默认模块的指定控制器的默认方法)
 * 3）域名/控制器名/方法名(注：访问默认模块的指定控制器的指定方法)
 * 4）域名/控制器名/方法名/参数/值(注：访问默认模块的指定控制器的指定方法并携带参数)
 * 5）域名/模块名(注：访问指定模块的默认控制器的默认方法)
 * 6）域名/模块名/控制器名(注：访问指定模块的指定控制器的默认方法)
 * 7）域名/模块名/控制器名/方法名(注：访问指定模块的指定控制器的指定方法)
 * 8）域名/模块名/控制器名/方法名/参数/值(注：访问指定模块的指定控制器的指定方法并携带参数)
 */
defined('MODULE_ALLOW_LIST')
|| define('MODULE_ALLOW_LIST', ['home']);
//@formatter:on
defined('DEFAULT_MODULE')
|| define('DEFAULT_MODULE', MODULE_ALLOW_LIST[0]);
//@formatter:on
defined('DEFAULT_MODULE_NAMESPACE')
|| define('DEFAULT_MODULE_NAMESPACE', APP_NAMESPACE . '\\' . ucfirst(MODULE_ALLOW_LIST['0']));
$defaultRouters = [
    '/' => [
        'namespace' => DEFAULT_MODULE_NAMESPACE . '\\Controllers',
        'module' => DEFAULT_MODULE,
        'controller' => 'index',
        'action' => 'index'
    ],
    '/:controller' => [
        'namespace' => DEFAULT_MODULE_NAMESPACE . '\\Controllers',
        'module' => DEFAULT_MODULE,
        'controller' => 1,
        'action' => 'index'
    ],
    '/:controller/:action' => [
        'namespace' => DEFAULT_MODULE_NAMESPACE . '\\Controllers',
        'module' => DEFAULT_MODULE,
        'controller' => 1,
        'action' => 2
    ],
    '/:controller/:action/:params' => [
        'namespace' => DEFAULT_MODULE_NAMESPACE . '\\Controllers',
        'module' => DEFAULT_MODULE,
        'controller' => 1,
        'action' => 2,
        'params' => 3
    ]
];

$routers = [ ];
foreach (MODULE_ALLOW_LIST as $v) {
    $vUcfirst = ucfirst($v);
    $routers['/' . $v] = [
        'namespace' => APP_NAMESPACE . '\\' . $vUcfirst . '\\Controllers',
        'module' => $v,
        'controller' => 'Index',
        'action' => 'index'
    ];
    $routers['/' . $v . '/:controller'] = [
        'namespace' => APP_NAMESPACE . '\\' . $vUcfirst . '\\Controllers',
        'module' => $v,
        'controller' => 1,
        'action' => 'index'
    ];
    $routers['/' . $v . '/:controller/:action'] = [
        'namespace' => APP_NAMESPACE . '\\' . $vUcfirst . '\\Controllers',
        'module' => $v,
        'controller' => 1,
        'action' => 2
    ];
    $routers['/' . $v . '/:controller/:action/:params'] = [
        'namespace' => APP_NAMESPACE . '\\' . $vUcfirst . '\\Controllers',
        'module' => $v,
        'controller' => 1,
        'action' => 2,
        'params' => 3
    ];
}
return array_merge($defaultRouters, $routers);
